package Ptolemaiosz;

public class LevelPartManager {

	private Level level;

    public LevelPartManager() {
        
                SkeletonLogger.logCall();

                SkeletonLogger.logReturn();
    }

        
        
	public void slide(Direction direction) {
		SkeletonLogger.logCall();
		
                //Lekerdezzuk a palyaszakaszokat
                LevelPart[][] neighbour2DArray  = level.getneighbour2DArray();
                //Lekerdezzuk melyik az ures
                level.getEmptyLevelPart();
                //Megvarialjuk a sorrendet, majd visszairjuk
                level.setneighbour2DArray(neighbour2DArray);
			
		SkeletonLogger.logReturn();
	}

	/**
	 * 
	 * @param level
	 */
	public void setLevel(Level level) {
		SkeletonLogger.logCall();
		
		SkeletonLogger.logReturn();
		
		this.level = level;
	}

	public Level getLevel() {
		
		
		SkeletonLogger.logCall();
		
		SkeletonLogger.logReturn();
		
		return this.level;
	}

	/**
	 * 
	 * @param direction
	 */
	public boolean matchChecker(Direction direction) {
		
                SkeletonLogger.logCall();
                
                //Lekerdezzuk a palyaszakaszokat
                LevelPart[][] neighbour2DArray = level.getneighbour2DArray();
                //Lekeredezzuk melyik az aktulais
                LevelPart currentLevelPart = level.getCurrentLevelPart();
                
                //Az aktualis es a megfelelo szomszed falait lekerjuk
                neighbour2DArray[0][0].getWalls();
                currentLevelPart.getWalls();
		
                //A falak alapjan megvizsgaljuk az illeszkedest
		boolean answer = SkeletonController.question("Illeszkedik a 2 palyaszakasz?");                
                                 
                SkeletonLogger.logReturn();
                
                //A vizsgalat eredmenyet visszaadjuk
                return answer;
	}

}